package activemqDemo;

import org.apache.activemq.transport.TransportListener;  
import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
  
import java.io.IOException;  
  
/** 
 * 消息传输监听类 
 * 这里就可以做消息传输过程中的一些监控及处理，比如常见的异常处理等 
 */  
public class ActiveMQTransportListener implements TransportListener {  
    private Logger logger = LoggerFactory.getLogger(this.getClass());  
  
    /** 
     * 对消息传输命令进行监控 
     * @param o 
     */  
    @Override  
    public void onCommand(Object o) {  
  
    }  
  
    /** 
     * 监控到异常时触发 
     * @param e 
     */  
    @Override  
    public void onException(IOException e) {  
        logger.error("onException -> 消息服务器连接错误......", e);  
    }  
  
    /** 
     * 当failover时触发 
     */  
    @Override  
    public void transportInterupted() {  
        logger.warn("transportInterupted -> 消息服务器连接发生中断...");  
    }  
  
    /** 
     * 监控到failover恢复后进行触发 
     */  
    @Override  
    public void transportResumed() {  
        logger.info("transportResumed -> 消息服务器连接已恢复...");  
    }  
} 
